Blurring the Borders between Object Composition, Inheritance, and Delegation

نویسندگان

  • Klaus Ostermann
  • Mira Mezini
چکیده

Object-oriented languages come with pre-defined composition mechanisms, such as inheritance, object composition, or delegation, each characterized by a certain set of composition properties, which do not themselves individually exist as abstractions at the language level. However, often non-standard composition semantics is needed, with a mixture of composition properties, which is not provided as such by any of the standard composition mechanisms. Such non-standard semantics are simulated by complicated architectures that are sensitive to requirement changes and cannot easily be adapted without invalidating existing clients. This paper is an appetizer for compound references and Latte Macchiato, a Java implementation of compound references. Compound references are a new abstraction for object references, that allows us to provide explicit linguistic means for expressing and combining individual composition properties on-demand. The model is statically typed and allows the programmer to express a seamless spectrum of composition semantics in the interval between object composition and inheritance.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Superimposed Delegation

Object composition a well-known programming technique for supporting dynamic adaptation in statically typed class-based object-oriented programming languages suffers from two non-trivial problems; the common-self problem and the object reference update problem. Recently, it has been shown that the common-self problem can be solved for object composition in statically typed class-based languages...

متن کامل

Composition through Superimposition

The conventional object-oriented paradigm provides part-of, inheritance and delegation relations as means for composition of objects. Although inheritance and delegation represent a considerable improvement over the module-based third generation languages, we have experienced that certain types of composability cannot be expressed using the aforementioned techniques. In some cases, the software...

متن کامل

A metadata-driven approach that combines family polymorphism, delegation and flexible composition semantics

The Lasagne object and component model enables customizations that create multiple, independent context-specific views on an application. Applications are collaborating objects and customizations are refining multiple points in an application in a non-invasive way. We achieve this goal by supporting selective combination of behavioral extensions. Different customizations can be deployed and act...

متن کامل

Object-Oriented Composition is Tangled

Object-oriented languages come with pre-defined composition mechanisms, such as inheritance, object composition, or delegation, each characterized by a certain set of composition properties, which do not themselves individually exist as abstractions at the language level. However, often non-standard composition semantics is needed, with a mixture of composition properties, which is not provided...

متن کامل

Aspect-Oriented Programming Using Composition-Filters

Software engineers may experience problems in modeling certain aspects while applying object-oriented techniques [4, 10, 11]. Composition-Filters are capable of expressing various different kinds of aspects in a uniform manner. These aspects are, for example, inheritance and delegation [1] and atomic delegation [2], multiple views, dynamic inheritance and queries on objects [3], coordinated beh...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002